Imports MySql.Data.MySqlClient
'Project, Add Reference, Extensions, MySQL.Data
Module AcessoMySQL
#Region "mysql"
Public strcondb As String 'string de conexão com o mysql
Public erro As String 'mensagem de erro do mysql
Public dbconn As MySqlConnection 'conexão com o mysql
Public dbCMD As MySqlCommand 'comando para o mysql
Public dtrMySQL As MySqlDataReader 'acesso aos dados do mysql
Public Sub DefStrConexaoMaterJus()
'Dim nome_maquina As String = Environment.MachineName
'bd local
'Dim strServidor As String = "localsrv" 'servidor
'Dim strBD As String = "bdsite" 'banco de dados
'Dim StrUsuario As String = "ususite" 'usuário
'Dim StrSenha As String = "Senha@Site" 'senha
'MasterJus redehost
Dim strServidor As String = "mysql.hospedagem.com.br" 'servidor
Dim strBD As String = "bd" 'banco de dados
Dim StrUsuario As String = "ususite" 'usuário
Dim StrSenha As String = "senhasite@2" 'senha
Dim Porta As String = "41890" 'porta
'strcondb = "Database=" + strBD + ";Data Source=" + strServidor + ";User Id=" + StrUsuario + ";Password=" + StrSenha + "; pooling=false; Convert Zero Datetime=True; Allow Zero Datetime=True" original asp net
strcondb = "Server=" + strServidor + ";Port=" + Porta + ";Database=" + strBD + ";Uid=" + StrUsuario + ";Pwd = " + StrSenha + ";"
End Sub
Public Sub DefStrConexaoLocal()
'Dim nome_maquina As String = Environment.MachineName
Dim strServidor As String = "localhost" 'servidor
Dim strBD As String = "sgea" 'banco de dados
Dim StrUsuario As String = "sgeaUSUsgea" 'usuário
Dim StrSenha As String = "Senha@SGEA" 'senha
'strcondb = "Database=" + strBD + ";Data Source=" + strServidor + ";User Id=" + StrUsuario + ";Password=" + StrSenha + "; pooling=false; Convert Zero Datetime=True; Allow Zero Datetime=True" original asp net
strcondb = "Server=" + strServidor + ";Database=" + strBD + ";Uid=" + StrUsuario + ";Pwd = " + StrSenha + ";"
End Sub
Public Sub DefStrConexao()
If FrmPrincipal.lblBD.Text = "LOCAL" Then
DefStrConexaoLocal()
Else
DefStrConexaoMaterJus()
End If
End Sub
Public Function BDDA(ByVal Query As String) As MySqlDataAdapter
'NÃO utilizar com gridview
erro = ""
Try
Dim conexao As MySqlConnection = New MySqlConnection(strcondb)
Dim da As MySqlDataAdapter = New MySqlDataAdapter()
da.SelectCommand = New MySqlCommand(Query, conexao)
Dim ds As DataSet = New DataSet()
da.Fill(ds)
ds.Dispose()
'da.Dispose()
'conexao.Close()
'conexao.Dispose()
Return da
Catch ex As Exception
erro = "Falha Função BDDA:" + ex.Message
Return Nothing
End Try
Return Nothing
End Function
Public Function BDDS(ByVal Query As String) As DataSet
'utilizar com gridview
erro = ""
Try
Dim conexao As MySqlConnection = New MySqlConnection(strcondb)
Dim da As MySqlDataAdapter = New MySqlDataAdapter()
da.SelectCommand = New MySqlCommand(Query, conexao)
Dim ds As DataSet = New DataSet() 'Criando objeto DataSet para trabalhar com os dados
da.Fill(ds) 'Preencher objeto Dataset
'ds.Dispose() 'Encerramento dos Objetos
da.Dispose() 'Encerramento dos Objetos
conexao.Close()
conexao.Dispose()
Return ds
Catch ex As Exception
erro = "Falha Função BDDS:" + ex.Message
Return Nothing
End Try
Return Nothing
End Function
' Public Sub BDExecutaComando(ByVal query As String)
Public Sub BDExec(ByVal Query As String)
'executa uma querie no bd sem retornar nada ( como delete... )
erro = ""
Try
Dim Com As New MySqlConnection(strcondb)
Com.Open()
Dim Cmd As New MySqlCommand(Query, Com)
Cmd.ExecuteNonQuery()
Cmd = Nothing
Com = Nothing
Catch ex As Exception
erro = "Falha Função BDExec:" + ex.Message
End Try
End Sub
Public Function BDDR(ByVal Query As String) As MySqlDataReader
erro = ""
Try
dbconn = New MySqlConnection(strcondb)
dbconn.Open()
dbCMD = New MySqlCommand(Query, dbconn)
Dim dr As MySqlDataReader
dr = dbCMD.ExecuteReader()
Return dr
Catch ex As Exception
erro = "Falha Função BDDR:" + ex.Message
Return Nothing
End Try
Return Nothing
End Function
Public Function BDDA(query As String, campo As String) As MySqlDataAdapter
erro = ""
Try
dbconn = New MySqlConnection(strcondb)
dbconn.Open()
Dim da As New MySqlDataAdapter(query, dbconn)
da.SelectCommand = New MySqlCommand(query, dbconn)
Dim ds As DataSet = New DataSet() 'Criando objeto DataSet para trabalhar com os dados
da.Fill(ds) 'Preencher objeto Dataset
dbconn.Close()
Return da
da.Dispose()
Catch ex As Exception
erro = "Falha Função BDDA:" + ex.Message
Return Nothing
End Try
End Function
''' <summary>
''' Utilizada quando preciso ter acesso a cada um dos campos retornados pela pesquisa
''' </summary>
''' <param name="query"></param>
''' <returns></returns>
Public Function BDDT(ByVal query As String) As DataTable 'utilizar com o DataGridView
Dim a As String
Try
erro = ""
Dim datatb As New DataTable
a = strcondb
If a = "" Then
DefStrConexao()
a = strcondb
dbconn = New MySqlConnection(a)
End If
dbconn = New MySqlConnection(a)
Dim dataadp As New MySqlDataAdapter(query, dbconn)
dataadp.Fill(datatb)
dbconn.Close()
Return datatb
dataadp.Dispose()
Catch ex As Exception
erro = "Falha : " + ex.Message
Return Nothing
End Try
End Function
#End Region
End Module
Dicas
Hoje em dia a maioria dos servidores asp net trabalha com o modo de segurança Médio.
No asp clássico era full ou total mas é considerado muito inseguro para um site atual.
Com este tipo de segurança sua aplicação só pode trabalhar nas suas pastas nativas e com seus objetos próprios.
Não pode criar nem destruir nada no servidor nem na pasta própria da aplicação.
Existe apenas uma excessão que é o fileupload que é um recurso do servidor feito para subir arquivos e conta
com uma segurança reforçada e parametrizável para passar exatamente o que queremos.
Sendo assim, numa aplicação asp net seu código de todas as páginas asp net será colocado numa única dll
e depositado na pasta bin do site. Ao publicar a dll e as pastas aspx são enviadas ao site.
Contudo existe restrições sérias. A primeira é que os servidores não aceitam qualquer coisa. Por exemplo,
o MySQL.Data deve ser de uma versão que o servidor aceita senão ele não deixará chamar o componente. Por esse
motivo consulte o site do seu provedor e verique que versões do MySQL.Data ele aceita.
Outro detalhe é que ao construir seu site asp net você deve colocar o MySQL.Data na sua pasta bin e, na
referencia, fazer a procura e apontar para esse MySQL.Data da sua pasta bin porque é assim que ele fará
quando a aplicação subir. Se você 'ensinou' o asp net quem deve chamar e aonde de uma maneira que o provedor
não irá rejeitar seu site terá mais chances de funcionar.